﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;

namespace QuanLiHocSinh
{
    public partial class QuiDinh : Form
    {
        OleDbConnection rule;
        public QuiDinh()
        {
            
            InitializeComponent();

            //===========================================================================================


            rule = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=CSDL.mdb");

            if (rule != null)
            {
                rule.Open();

                //===========================
                string point = "select * from rule";
                OleDbCommand comman = new OleDbCommand(point, rule);

                OleDbDataReader reader;
                reader = comman.ExecuteReader();

                while (reader.Read())
                {
                    string tranfer = "";
                    tranfer += reader.GetString(0);
                    textBox1.Text = tranfer;

                    tranfer = "";
                    tranfer += reader.GetString(1);
                    textBox3.Text = tranfer;

                    tranfer = "";
                    tranfer += reader.GetString(2);
                    textBox4.Text = tranfer;

                    
                    float dat = reader.GetFloat(3);
                    textBox6.Text = dat.ToString();

                    tranfer = "";
                    tranfer += reader.GetString(4);
                    textBox2.Text = tranfer;
                }


                //===========================
            }
            else
            {
                MessageBox.Show("Không kết nối được với CSDL", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
            }





            //===========================================================================================




        }

        private void button1_Click(object sender, EventArgs e)
        {
            


            if ((textBox1.Text == "") || (textBox2.Text == "") || (textBox3.Text == "") || (textBox4.Text == "") || (textBox6.Text == ""))
            {
                MessageBox.Show("Nhập thông tin không đầy đủ!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                return;
            }
            else
            {

                //=============================================================
                int num_lop = 0;
                string test_num_lop = "select count(*) from monhoc";
                OleDbCommand comm = new OleDbCommand(test_num_lop, rule);

                OleDbDataReader rd = comm.ExecuteReader();
                while (rd.Read())
                {
                    num_lop = rd.GetInt32(0);
                }

                int num_rule = int.Parse(textBox4.Text);
                //=============================================================



                if (num_rule < num_lop)
                {
                    MessageBox.Show("Nhập sai số lượng lớp!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                    return;
                }
                else
                {
                    if (MessageBox.Show("Nếu thay đổi qui định thì dữ liệu đã nhập có thể bị sai theo qui định mới!!!", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.OK)
                    {
                        string del = "delete from rule";
                        OleDbCommand dele = new OleDbCommand(del, rule);

                        dele.ExecuteNonQuery();

                        string update = "insert into rule(TuoiToiThieu, TuoiToiDa, SoMonHoc, DiemDatMon, SiSoToiDa) values('" + textBox1.Text + "', '" + textBox3.Text + "', '" + textBox4.Text + "', '" + float.Parse(textBox6.Text) + "', '" + textBox2.Text + "')";
                        OleDbCommand comman = new OleDbCommand(update, rule);

                        comman.ExecuteNonQuery();

                        MessageBox.Show("Cập nhật thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                    }
                }
            }
            
        }

        private void button3_Click(object sender, EventArgs e)
        {
            rule.Close();
            this.Close();
        }

        
    }
}
